public class Main5{
    private static int[] arr=new int[9];//存当前排列
    private static boolean[] isVisit=new boolean[9];//标记数字是否被使用
    private static int count=0;//有效排列数


    public static void main(String[] args){
        dfs(0);//从第0位开始生成排列
        System.out.println(count/6);//去除旋转和镜像
    }



    public static void dfs(int index){
        //递归终止条件，已经生成所有排列 index=长度
        if(index==arr.length){
            //题目条件
            if(arr[0]+arr[1]+arr[2]+arr[3]==arr[3]+arr[4]+arr[5]+arr[6]&&arr[3]+arr[4]+arr[5]+arr[6]==arr[6]+arr[7]+arr[8]+arr[0]){
                count++;
            }
            return;
        }
        //递归生成排列
        for(int i=0;i<9;i++){
            if(!isVisit[i]){
                isVisit[i]=true;
                //true就是使用了
                arr[index]=i+1;
                dfs(index+1);
                isVisit[i]=false;
                //恢复状态
            }
        }


    }




}